package com.jinken.common.result;



import java.io.Serializable;

/**
 * 通用结果对象
 */
public class BaseResult implements Serializable {

    /**
     * 返回给前端操作逻辑状态码，一般情况和http协议码可以保持一致
     * 200 成功
     * 500 错误失败
     * 各种自定义转态
     * 1000 验证码错误
     * 2000 手机号码
     */
    private Integer code;
    /**
     * 请示失败以后返回错误消息
     * 配个各种非200错误返回
     */
    private String message;

    /**
     * 成功以后返回的数据
     * 一般都是查询数据
     */
    private Object data;

    /**
     * 为了避免每个业务的操作无论成功还是失败，都需要创建通用结果对象
     * 将常用的操作提供通用方法
     */
    public static BaseResult success() {
        BaseResult r = new BaseResult();
        r.code = 200;
        return r;
    }

    public static BaseResult success(Object data) {
        BaseResult r = new BaseResult();
        r.code = 200;
        r.data = data;
        return r;
    }

    public static BaseResult error() {
        BaseResult r = new BaseResult();
        r.code = 500;
        return r;
    }

    public static BaseResult error(String message) {
        BaseResult r = new BaseResult();
        r.code = 500;
        r.message = message;
        return r;
    }

    public static BaseResult error(Integer code, String message) {
        BaseResult r = new BaseResult();
        r.code = code;
        r.message = message;
        return r;
    }


    public static void main(String[] args) {
        //return; R.success();
        //return R.error("添加用户失败");
        // return R.success(userList);

        //return R.error(1000,"手机号码错误");

    }

    public Integer getCode() {
        return code;
    }

    public void setCode(Integer code) {
        this.code = code;
    }

    public String getMessage() {
        return message;
    }

    public void setMessage(String message) {
        this.message = message;
    }

    public Object getData() {
        return data;
    }

    public void setData(Object data) {
        this.data = data;
    }
}
